int i, j;
float x;
scanf("%d%f%d", &i, &x, &j);

user input: 10.3 5 6

i é do tipo inteiro, logo, assim que a scanf começar a "varredura", guardará 10 nessa variável.

Ao encontrar .3, scanf armazena o valor em x como 0.3.

5 é guardado em j.

6 é ignorado.
